package com.relytosoft.mizar.media.analyze.api.pojo.query;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * AyStruDataQuery
 *
 * @Author SunLi
 * @Date: 2022/6/2 10:00
 * @Version 1.0
 */
@ApiModel("AyStruDataQuery")
public class AyStruDataQuery implements Serializable {

    private static final Long serialVersionUID = 1L;

    @ApiModelProperty(value = "当前页数")
    private Integer pageNum;

    @ApiModelProperty(value = "分页大小")
    private Integer pageSize;

    @ApiModelProperty(value = "任务类型，默认为1实时任务")
    private Integer taskType;

    @ApiModelProperty(value = "检索分类 0综合 1行人 2机动车 3非机动车")
    private Integer dataType;

    @ApiModelProperty(value = "排序字段")
    private String sortBy;

    @ApiModelProperty(value = "排序方式",
            example = "asc,desc")
    private String sort;

    @ApiModelProperty(value = "开始时间", required = true)
    @NotBlank(message = "开始时间不能为空")
    private String startTime;

    @ApiModelProperty(value = "结束时间", required = true)
    @NotBlank(message = "开始时间不能为空")
    private String endTime;

    @ApiModelProperty(value = "设备ID集合以英文, 分隔")
    private String deviceIds;

    @ApiModelProperty(value = "主任务ID")
    private Integer taskId;

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Integer getTaskType() {
        return taskType;
    }

    public void setTaskType(Integer taskType) {
        this.taskType = taskType;
    }

    public String getSortBy() {
        return sortBy;
    }

    public void setSortBy(String sortBy) {
        this.sortBy = sortBy;
    }

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getDeviceIds() {
        return deviceIds;
    }

    public void setDeviceIds(String deviceIds) {
        this.deviceIds = deviceIds;
    }

    public Integer getTaskId() {
        return taskId;
    }

    public void setTaskId(Integer taskId) {
        this.taskId = taskId;
    }

    public Integer getDataType() {
        return dataType;
    }

    public void setDataType(Integer dataType) {
        this.dataType = dataType;
    }

    @Override
    public String toString() {
        return "AyStruDataQuery{" +
                "pageNum=" + pageNum +
                ", pageSize=" + pageSize +
                ", taskType=" + taskType +
                ", dataType=" + dataType +
                ", sortBy='" + sortBy + '\'' +
                ", sort='" + sort + '\'' +
                ", startTime='" + startTime + '\'' +
                ", endTime='" + endTime + '\'' +
                ", deviceIds='" + deviceIds + '\'' +
                ", taskId='" + taskId + '\'' +
                '}';
    }
}
